The present technology relates to a decoding technique suitable for cases in which the decoding time can vary, hence suitable for storage applications.
Semiconductor memory has become increasingly popular for use in various electronic devices. For example, non-volatile semiconductor memory is used in cellular telephones, digital cameras, personal digital assistants, mobile computing devices, non-mobile computing devices and other devices. Electrically Erasable Programmable Read Only Memory (EEPROM) and flash memory are among the most popular non-volatile semiconductor memories. With flash memory, also a type of EEPROM, the contents of the whole memory array, or of a portion of the memory, can be erased in one step, in contrast to the traditional, full-featured EEPROM.
Once the storage elements in the memory device have been programmed, it is important that their programming states can be read back with a high degree of reliability. However, the sensed programming states can sometimes vary from the written programming states due to various factors. Error correction decoding can be useful in this regard. Moreover, probabilistic iterative decoding techniques can provide additional benefits. However, improved decoding techniques are needed to overcome problems such as failure of the decoding process to converge.
The present technology addresses the above and other issues by providing an iterative probabilistic decoding technique for reading a memory device, and to a corresponding memory device.